Jump To:
Technical Q&As: Device Drivers
USB is a cross-platform peripheral standard that offers several benefits, such as low cost, expandability, autoconfiguration, hot plugging, and good performance. It also provides power to the bus, enabling many peripherals to operate without the need for an AC power adapter. Typical USB devices include keyboards, mice, joysticks, game pads, and other low-cost devices. Using the I/O Kit, Apple's object-oriented driver development framework, developers can create both in-kernel and application-level drivers for USB devices and interfaces.

Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Date
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
2001-12-05
Common QA and Roadmap for USB Software Development on Mac OS X (HTML)
QA1370: Roadmap for development of USB Software on Mac OS X and some Common Questions and Answers
2004-09-22
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
2001-12-05
Expansion ROM device properties (HTML) ()
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
1999-03-29
Generating an NMI Without a Programmer's Switch (HTML) ()
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
2004-04-26
Getting started with Forth (HTML) ()
HW53: Describes where FCode driver developers can get information about the Forth programming language.
1999-03-29
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
2001-06-13
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
2003-10-28
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
2004-08-30
IODeviceTree & the IORegistry (HTML) ()
QA1120: Describes the IODeviceTree plane in the Mac OS X IORegistry.
2002-02-13
IOKit Framework Headers (HTML) ()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
2002-01-15
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
1999-11-15
Issues with boot time KEXT loading (HTML) ()
QA1087: Explains how to solve problems with loading KEXTs at boot time.
2004-01-15
Making sense of IOKit error codes (HTML) ()
QA1075: Explains how to interpret I/O Kit error codes.
2002-02-07
Mapping kernel memory to user space on Mac OS X 10.2 (HTML) ()
QA1197: Describes a change to mapping kernel memory to user space affecting Mac OS X 10.2 and later.
2002-09-13
Open Firmware and the devalias node (HTML)
HW95: Describes why the contents of the Open Firmware devalias node varies between Macintosh models.
2000-09-05
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
2000-09-05
Power Management; Policy Maker vs. Power Controller (HTML) ()
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
2002-02-13
Retain Counts of io_object_t Objects in IOKit.framework (HTML) ()
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
2002-09-04
SCSIAction and IOSCSIUserClient on Mac OS X 10.2 (HTML) ()
QA1201: Describes migrating to a new API for SCSI Parallel devices starting with Mac OS X 10.2.
2002-09-13
SDRAM Problems With Self-Powered USB Devices (HTML) ()
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
2003-08-21
Sending SCSI commands to storage devices (HTML) ()
QA1179: Explains that Mac OS X does not implement SCSI pass-through for many mass storage devices.
2002-08-06
Tips on USB driver matching for Mac OS X (HTML)
QA1076: Gives some tips on getting USB driver matching to work.
2001-10-02